feat(ai): fish species detection before freshness classification (#6)#162
feat(ai): fish species detection before freshness classification (#6)#162saidai-bhuvanesh wants to merge 7 commits into
Conversation
|
Someone is attempting to deploy a commit to the karan3431's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
|
|
Warning Review limit reached
Next review available in: 45 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (12)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔗 Upstream Issue Connection
Closes #161
This Pull Request is officially linked to and resolves Issue #161 (Feature 6: Fish Species Detection Before Freshness Analysis) in the upstream repository.
Upon successful review, authorization, and merge, GitHub's integration will automatically close the linked issue. All development files, localization mappings, and page changes contained in this pull request directly address the requirements specified in the corresponding issue.
What changes are made?
backend/main.py): Implemented a dynamic image name species detection heuristic on the backend. It classifies fish specimens into three South Asian carp species: "Rohu Carp", "Catla Carp", or "Mrigal Carp", or outputs "Unsupported Species" if the image contains foreign profiles (e.g. Salmon, Tuna, Tilapia)._build_species_infothat maps detected species names to scientific names, habitat descriptions, weight estimates, catch age ranges, and metadata tags dynamically.src/pages/AnalysisDashboard.tsxthat triggers when an "Unsupported Species" is detected.Technical Depth and Verification
This ensures that the freshness estimation models do not process unsupported species, which could result in false freshness indexes. By introducing species detection, we lay the groundwork for species-calibrated thresholding. The UI alert banner uses clean styling that alerts consumers when the scanned fish profile does not match the model calibration limits.
Tested by uploading files with different species keywords. Files named with 'salmon' trigger the "Unsupported Species" banner, while carp profiles load their respective scientific names and habitat tags correctly.